Mysql取分组后的每组第一条数据 您所在的位置:网站首页 mysql每个group by 取一条 Mysql取分组后的每组第一条数据

Mysql取分组后的每组第一条数据

2024-07-12 21:03| 来源: 网络整理| 查看: 265

Mysql取分组后的每组第一条数据gruop by 分组后 进行 order by mysql会按照 先分组后排序的形式进行输出 并不能做到每组中的第一条数据取出。

我的思路是 : 先将要查询的数据表转换成已经排序的临时表 在进行 分组操作 。 因为在mysql分组是将第一个出现的数据进行展示出。

MySQL会创建临时表的几种情况:1、UNION查询;2、用到TEMPTABLE算法或者是UNION查询中的视图;3、ORDER BY和GROUP BY的子句不一样时;4、表连接中,ORDER BY的列不是驱动表中的;(指定了联接条件时,满足查询条件的记录行数少的表为[驱动表],未指定联接条件时,行数少的表为[驱动表],多表联合查询时)5、DISTINCT查询并且加上ORDER BY时;6、SQL中用到SQL_SMALL_RESULT选项时;7、FROM中的子查询;8、子查询或者semi-join时创建的表;

SQL :select DISTINCT school,title,content,update_time FROM content gruop by school order by update_time DESC

这样就是把每组最新时间的一条数据查询出来了。

如果上面的不行可以试下:

select * from ( select DISTINCT school,title,content,update_time FROM content order by update_time DESC ) as a gruop by a.school

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有